This invention relates in general to digital systems which compensate for transmission errors and in particular to error concealment systems suitable for use in the transmission or storage of digital data employing delta modulation.
When digital signals are transmitted through or stored on a medium, transmission or storage errors frequently cause the digital signals received to be different from those transmitted. In one form of forward error control known as forward error correction, redundant information is transmitted along with digital data to the receiver where the redundant information is used to detect errors in the transmitted digital data and to correct such errors.
In PCM systems each sample is transmitted or stored as a word of binary digits ranging from the least significant bit to the most significant bit. A reproduced transmission or storage error occurring at the most significant bit will have a vastly greater effect than an error occurring at or near the least significant bit. Thus it is important that bit errors occurring in the more significant bits of a PCM word not be reproduced into audio. In order to detect and correct errors with a high degree of certainty, a large amount of redundant information must be transmitted. This accounts for the high overhead required for forward error correction in many PCM systems. In conventional pulse code modulation (PCM) audio systems for compact discs or tapes, the redundant information transmitted or stored for forward error correction can be as high as 50% of the total information transmitted or stored.
Many techniques have been employed for detecting the presence and location of transmission bit errors in PCM systems. In one form of error detection, group check characters each conveying the number of 1's in a group of data are transmitted in addition to the groups of data. At the receiving end, the numbers of 1's in the received groups of data are then computed and compared with the received group check characters to detect the presence of transmission bit errors. The redundant information carried by the group check characters, while useful for detection of the presence of errors within a group, does not indicate the location of the bit errors among the bits of the group. To determine the locations of the errors within the group so that they can be corrected, additional information is required.
There are many common codes in use to provide this information. Two general types of commonly used codes are block codes and convolutional codes. Block codes involve grouping the data bits into blocks and adding redundant information to each block. The redundant information may be simple row, column parity, or the result of a code generating polynomial. The amount of redundant information which must be added to the original data depends on the error rate to be handled and the level of performance required. In order to get the maximum theoretical amount of performance out of a specific amount of overhead information, complex calculations are required to generate the redundant information and this requires complex and expensive circuitry. Convolutional codes involve treating the digital data as a single serial stream and increasing the data rate by some ratio (for instance 4/3). Simple versions of these codes can be simply implemented, but they are not really appropriate for audio systems and are not relevant to the present invention.
While it is desirable to correct all errors, the burden of carrying a large amount of redundancy and of building the required error correction hardware is such that alternatives are desirable. Also, any error correction system will break down when the error rate increases to a certain limit, and it is desirable that the now uncorrectable errors not be reproduced. For this reason PCM systems typically incorporate error concealment in addition to or instead of error correction. The overhead and hardware required for error concealment may be much less than that required for error correction. Error concealment for PCM works by detecting that a PCM word contains an error, although which bit is in error is not determined. That entire word is discarded and replaced by an estimate of what it was. The estimate may be based on the value of the adjacent words. The redundant information to detect an error in a PCM word is often simply a parity bit added to a word. The overhead for PCM error concealment is often on the order of 5-15%. This technique provides a substantial improvement in sound quality with a modest amount of overhead and extra circuitry.
In digital audio systems the audible effect of a transmission bit error depends on the energy of the disturbance in the output analog waveform caused by the error. In a PCM system the disturbance caused by an error takes the form of a narrow pulse with its width equal to the length of the sampling period and its size depending upon which bit is hit, being very large for a hit on a most significant bit. The result of error concealment in a PCM system is to greatly reduce the amplitude of the disturbance which is added to the reproduced audio. Thus, error concealment as applied to PCM systems greatly reduces the energy of the disturbance and thereby also reduces the audible effect of the error.
Delta modulation systems have the advantage that they are inherently less impaired by transmission or storage bit errors than PCM systems. Unlike PCM systems where a most significant bit error can produce a full scale spike, the disturbances in the output analog waveform caused by transmission or storage bit errors in delta modulation systems are all of the same size which is considerably less than the full scale spike in PCM systems. It is known in the art that the effect of a transmission or storage bit error on a delta modulation system is to produce a permanent shift in DC level in the received or reproduced audio. A conventional technique for correcting the DC shift is to use a leaky integrator in the delta demodulator at the receiving end of the system. The leaky integrator causes the DC shift to decay over a time period depending on the time constant of the integrator. Typically, the time constant of the integrator is much greater than the length of the sampling period in the typical PCM system. Thus, in the case of delta modulation, the disturbance takes the form of a small decaying step of significant length. A delta modulation system performing at the same error rate as a PCM system is inherently less impaired by bit errors than the PCM system. When the error rate is low (on the order of 10.sup.-5), a delta modulation system is quite usable for high quality audio without any error correction or concealment, while a PCM system is not.
At higher error rates, the disturbance to a delta modulation system, while still smaller in size than that to a PCM system, can still result in a clearly audible impairment. It is therefore desirable to provide a system to reduce the effect of transmission and storage bit errors on delta modulation systems.
Error correction schemes have been applied to delta modulation systems. Robert W. Adams, in the article "Companded Predictive Delta Modulation: A Low-Cost Conversion Technique For Digital Recording", Journal of Audio Engineering Society, Vol. 32, No. 9, pages 659-672, September 1984, describes an error correction scheme for delta modulation systems. Adams employs a convolutional code of rate 3/4 (4 transmitted bits for every 3 data bits). While the error correction scheme described by Adams is for a delta modulation system, it is similar to those commonly applied to PCM systems. Where a series of uncorrectable errors occurs, a string of alternating 1's and 0's is substituted for the bit stream. This has the effect of freezing the output waveform which is somewhat equivalent to the PCM technique of substituting the last sample for the present, although when correct data is again received, the reproduced audio will have picked up a D.C. step unless the correct data contained an equal number of 1's and 0's.
Norm Scheimberg and Donald Schilling, in an article "Techniques For Correction Transmission Errors in Video Adaptive Delta Modulation Channels", IEEE Transactions on Communications, Vol. COM-24, No. 9, 1064-70, September, 1976, disclose a technique for correcting the permanent shift in DC level caused by transmission bit errors in delta modulation systems. To correct the DC shift, periodically the current value of the absolute amplitude of the signal at the transmitter is sent to the receiver. The receiver then compares the current amplitude of the received signal with the value received from the transmitter to correct the DC shift. If the technique were applied to audio data transmission, unless the absolute amplitude of the signal were transmitted periodically at a high frequency, the duration of the disturbance would be such that little audible improvement would be realized. High frequency transmission of the absolute amplitude would significantly increase the overhead required and is therefore undesirable. Thus a more efficient technique is desirable.